package grape.common.service.common;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Param;

/**
 * 所有mapper的基类,如果有扩展接口方便扩展
 * Created by yangwei
 * Created at 2019/7/24 17:56
 */
public interface IBaseMapper<Po> extends BaseMapper<Po> {

    /**
     * 根据id全字段更新
     * @param entity
     * @return
     */
    int updateFullById(@Param(Constants.ENTITY) Po entity);

    /**
     * 根据 whereEntity 条件，全字段更新记录
     *
     * @param entity        实体对象 (set 条件值,可以为 null)
     * @param updateWrapper 实体对象封装操作类（可以为 null,里面的 entity 用于生成 where 语句）
     */
    int updateFull(@Param(Constants.ENTITY) Po entity, @Param(Constants.WRAPPER) Wrapper<Po> updateWrapper);
}
